From eb34d1939909e6167aa58396a8e74dfb8ffab06f Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 5 Jun 2000 15:24:59 +0000 Subject: [PATCH] Hack gdk_event_get_graphics_expose() to sort of work by adding an extra Mon Jun 5 13:29:31 2000 Owen Taylor * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() to sort of work by adding an extra return_exposes arg to gdk_event_translate() - it might be better to simply deprecate the function altogether and force people to rewrite without it. gdk_window_scroll() handles most of it, and where gdk_window_scroll() doesn't work, simply redrawing more does. * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up assertion. * gtk-config.in: Include PANGO_CFLAGS/LIBS. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a bunch of pretty much useless /* Print debugging info */ comments which had drifted away from the code they were commenting. --- ChangeLog | 18 +++++++++ ChangeLog.pre-2-0 | 18 +++++++++ ChangeLog.pre-2-10 | 18 +++++++++ ChangeLog.pre-2-2 | 18 +++++++++ ChangeLog.pre-2-4 | 18 +++++++++ ChangeLog.pre-2-6 | 18 +++++++++ ChangeLog.pre-2-8 | 18 +++++++++ gdk/x11/gdkevents-x11.c | 90 +++++++++++++++++------------------------ gtk-config.in | 4 +- gtk/.cvsignore | 2 + gtk/gtkwidget.c | 4 +- 11 files changed, 168 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4fd0965fc7..1c93d51544 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,21 @@ +Mon Jun 5 13:29:31 2000 Owen Taylor + + * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose() + to sort of work by adding an extra return_exposes arg + to gdk_event_translate() - it might be better to simply + deprecate the function altogether and force people to rewrite + without it. gdk_window_scroll() handles most of it, and where + gdk_window_scroll() doesn't work, simply redrawing more does. + + * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up + assertion. + + * gtk-config.in: Include PANGO_CFLAGS/LIBS. + + * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a + bunch of pretty much useless /* Print debugging info */ comments + which had drifted away from the code they were commenting. + 2000-06-02 Havoc Pennington * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index b71e349771..7036b96cec 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -78,7 +78,8 @@ static gint gdk_event_apply_filters (XEvent *xevent, GdkEvent *event, GList *filters); static gint gdk_event_translate (GdkEvent *event, - XEvent *xevent); + XEvent *xevent, + gboolean return_exposes); #if 0 static Bool gdk_event_get_type (Display *display, XEvent *xevent, @@ -207,7 +208,7 @@ gdk_event_get_graphics_expose (GdkWindow *window) { event = gdk_event_new (); - if (gdk_event_translate (event, &xevent)) + if (gdk_event_translate (event, &xevent, TRUE)) return event; else gdk_event_free (event); @@ -255,7 +256,8 @@ gdk_add_client_message_filter (GdkAtom message_type, static gint gdk_event_translate (GdkEvent *event, - XEvent *xevent) + XEvent *xevent, + gboolean return_exposes) { GdkWindow *window; @@ -435,8 +437,6 @@ gdk_event_translate (GdkEvent *event, else buf[charcount] = '\0'; - /* Print debugging info. */ - #ifdef G_ENABLE_DEBUG if (gdk_debug_flags & GDK_DEBUG_EVENTS) { @@ -474,8 +474,6 @@ gdk_event_translate (GdkEvent *event, &keysym, &compose); event->key.keyval = keysym; - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("key release:\t\twindow: %ld key: %12s %d", xevent->xkey.window, @@ -492,8 +490,6 @@ gdk_event_translate (GdkEvent *event, break; case ButtonPress: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("button press:\t\twindow: %ld x,y: %d %d button: %d", xevent->xbutton.window, @@ -551,8 +547,6 @@ gdk_event_translate (GdkEvent *event, break; case ButtonRelease: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("button release:\twindow: %ld x,y: %d %d button: %d", xevent->xbutton.window, @@ -592,8 +586,6 @@ gdk_event_translate (GdkEvent *event, break; case MotionNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s", xevent->xmotion.window, @@ -626,8 +618,6 @@ gdk_event_translate (GdkEvent *event, break; case EnterNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("enter notify:\t\twindow: %ld detail: %d subwin: %ld", xevent->xcrossing.window, @@ -703,8 +693,6 @@ gdk_event_translate (GdkEvent *event, break; case LeaveNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("leave notify:\t\twindow: %ld detail: %d subwin: %ld", xevent->xcrossing.window, @@ -781,8 +769,6 @@ gdk_event_translate (GdkEvent *event, case NotifyAncestor: case NotifyInferior: case NotifyNonlinear: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("focus %s:\t\twindow: %ld", (xevent->xany.type == FocusIn) ? "in" : "out", @@ -806,8 +792,6 @@ gdk_event_translate (GdkEvent *event, break; case KeymapNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("keymap notify")); @@ -816,8 +800,6 @@ gdk_event_translate (GdkEvent *event, break; case Expose: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("expose:\t\twindow: %ld %d x,y: %d %d w,h: %d %d%s", xevent->xexpose.window, xevent->xexpose.count, @@ -832,38 +814,58 @@ gdk_event_translate (GdkEvent *event, expose_rect.width = xevent->xexpose.width; expose_rect.height = xevent->xexpose.height; - _gdk_window_process_expose (window, xevent->xexpose.serial, &expose_rect); + if (return_exposes) + { + event->expose.type = GDK_EXPOSE; + event->expose.area = expose_rect; + event->expose.window = window; + + return_val = TRUE; + } + else + { + _gdk_window_process_expose (window, xevent->xexpose.serial, &expose_rect); + return_val = FALSE; + } + return_val = FALSE; } break; case GraphicsExpose: - /* Print debugging info. - */ { GdkRectangle expose_rect; GDK_NOTE (EVENTS, g_message ("graphics expose:\tdrawable: %ld", xevent->xgraphicsexpose.drawable)); - expose_rect.x = xevent->xgraphicsexpose.x + xoffset; expose_rect.y = xevent->xgraphicsexpose.y + yoffset; expose_rect.width = xevent->xgraphicsexpose.width; expose_rect.height = xevent->xgraphicsexpose.height; + + if (return_exposes) + { + event->expose.type = GDK_EXPOSE; + event->expose.area = expose_rect; + event->expose.window = window; - _gdk_window_process_expose (window, xevent->xgraphicsexpose.serial, &expose_rect); - - return_val = FALSE; + return_val = TRUE; + } + else + { + _gdk_window_process_expose (window, xevent->xgraphicsexpose.serial, &expose_rect); + + return_val = FALSE; + } + } break; case NoExpose: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("no expose:\t\tdrawable: %ld", xevent->xnoexpose.drawable)); @@ -874,8 +876,6 @@ gdk_event_translate (GdkEvent *event, break; case VisibilityNotify: - /* Print debugging info. - */ #ifdef G_ENABLE_DEBUG if (gdk_debug_flags & GDK_DEBUG_EVENTS) switch (xevent->xvisibility.state) @@ -930,8 +930,6 @@ gdk_event_translate (GdkEvent *event, break; case DestroyNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("destroy notify:\twindow: %ld", xevent->xdestroywindow.window)); @@ -946,8 +944,6 @@ gdk_event_translate (GdkEvent *event, break; case UnmapNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("unmap notify:\t\twindow: %ld", xevent->xmap.window)); @@ -961,8 +957,6 @@ gdk_event_translate (GdkEvent *event, break; case MapNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("map notify:\t\twindow: %ld", xevent->xmap.window)); @@ -973,8 +967,6 @@ gdk_event_translate (GdkEvent *event, break; case ReparentNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("reparent notify:\twindow: %ld x,y: %d %d parent: %ld ovr: %d", xevent->xreparent.window, @@ -988,8 +980,6 @@ gdk_event_translate (GdkEvent *event, break; case ConfigureNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("configure notify:\twindow: %ld x,y: %d %d w,h: %d %d b-w: %d above: %ld ovr: %d%s", xevent->xconfigure.window, @@ -1060,8 +1050,6 @@ gdk_event_translate (GdkEvent *event, break; case PropertyNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, gchar *atom = gdk_atom_name (xevent->xproperty.atom); g_message ("property notify:\twindow: %ld, atom(%ld): %s%s%s", @@ -1124,8 +1112,6 @@ gdk_event_translate (GdkEvent *event, break; case ColormapNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("colormap notify:\twindow: %ld", xevent->xcolormap.window)); @@ -1139,8 +1125,6 @@ gdk_event_translate (GdkEvent *event, GList *tmp_list; GdkFilterReturn result = GDK_FILTER_CONTINUE; - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("client message:\twindow: %ld", xevent->xclient.window)); @@ -1180,8 +1164,6 @@ gdk_event_translate (GdkEvent *event, break; case MappingNotify: - /* Print debugging info. - */ GDK_NOTE (EVENTS, g_message ("mapping notify")); @@ -1269,7 +1251,7 @@ gdk_event_get_type (Display *display, GdkEvent event; GdkPredicate *pred; - if (gdk_event_translate (&event, xevent)) + if (gdk_event_translate (&event, xevent, FALSE)) { pred = (GdkPredicate*) arg; return (* pred->func) (&event, pred->data); @@ -1320,7 +1302,7 @@ gdk_events_queue (void) gdk_event_queue_append (event); node = gdk_queued_tail; - if (gdk_event_translate (event, &xevent)) + if (gdk_event_translate (event, &xevent, FALSE)) { ((GdkEventPrivate *)event)->flags &= ~GDK_EVENT_PENDING; } diff --git a/gtk-config.in b/gtk-config.in index 5fffdf6b94..6b226edd20 100644 --- a/gtk-config.in +++ b/gtk-config.in @@ -99,7 +99,7 @@ if test "$echo_cflags" = "yes"; then fi done fi - echo -I@libdir@/gtk+/include $includes $glib_cflags @x_cflags@ + echo -I@libdir@/gtk+/include $includes $glib_cflags @PANGO_CFLAGS@ @x_cflags@ fi if test "$echo_libs" = "yes"; then @@ -115,6 +115,6 @@ if test "$echo_libs" = "yes"; then fi done - echo $libdirs @x_ldflags@ -lgtk -lgdk $my_glib_libs @INTLLIBS@ @x_libs@ @GDK_WLIBS@ @MATH_LIB@ + echo $libdirs @x_ldflags@ -lgtk -lgdk $my_glib_libs @INTLLIBS@ @PANGO_LIBS@ @x_libs@ @GDK_WLIBS@ @MATH_LIB@ fi diff --git a/gtk/.cvsignore b/gtk/.cvsignore index 78501f4c51..ba55e9b87e 100644 --- a/gtk/.cvsignore +++ b/gtk/.cvsignore @@ -5,11 +5,13 @@ Makefile.in _libs .libs libgtk-1.1.la +testcalender testgtk testinput testrgb testselection testtext +testtextbuffer simple testtree gtkcompat.h diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 474164dc82..ab7a9fd628 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4026,12 +4026,12 @@ gtk_widget_get_direction (GtkWidget *widget) * %GTK_TEXT_DIR_NONE. * * Set the default reading direction for widgets where the - * direction has not been explicitely set by gtk_widget_set_direction(). + * direction has not been explicitly set by gtk_widget_set_direction(). **/ void gtk_widget_set_default_direction (GtkTextDirection dir) { - g_return_if_fail (dir == GTK_TEXT_DIR_RTL || GTK_TEXT_DIR_LTR); + g_return_if_fail (dir == GTK_TEXT_DIR_RTL || dir == GTK_TEXT_DIR_LTR); gtk_default_direction = dir; } -- 2.30.2